#ifndef STAGE3_H
#define STAGE3_H
//
#include "stage.h"
#include "dragtreewidget.h"

class QTreeWidget;
class QDomElement;
class QPushButton;

//
class Stage3 : public Stage
{
	Q_OBJECT
	DragTreeWidget *_tree;
	void saveItem(QDomElement *elem, QTreeWidgetItem *item);
	void loadElement(QDomElement *elem,QTreeWidgetItem *pitem);
	bool useDomain(QTreeWidgetItem *item,int order);	
	void attributesToServerFormat(QDomElement *elem,QTreeWidgetItem *item);
	QString newCubeName();//возвращает новое имя для куба
	int cubeCount();//возвращает количество кубов
public:
	Stage3();
	void clear();
	QTreeWidget *tree();
	QDomElement xml();
	bool load(QDomElement elem);		
	Attribute *useDomain(int order);
	QDomElement serverFormat(QString name,QString alias);	
	void setTreeWidget(DragTreeWidget *tv);
private slots:
	void slotItemChanged(QTreeWidgetItem*);
	void slotEditDomen(QTreeWidgetItem*);
	void slotAddCube();
public slots:
	void slotAttrChanged(int,Attribute *);	
	void slotEditDomain();
	
	void slotRemoveDomain();

};
#endif
